package com.wicket.okrbff.biz.service.dto.req;


import com.wicket.okrbff.biz.service.dto.common.BffConfOptionDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc BffAddConfClassItemReqDto
 * @使用场景
 */
@Data
public class BffAddConfClassItemReqDto implements Serializable {

    @ApiModelProperty("配置项下选项关系列表")
    List<Long> confItemOptionList = new ArrayList<>();
    /**
     * 配置项标识
     */
    @NotNull(message = "配置项标识不能为空")
    @ApiModelProperty("配置项标识")
    private String confItemCode;
    /**
     * 配置项名称
     */
    @NotNull(message = "配置项名称不能为空")
    @ApiModelProperty("配置项名称")
    private String confItemName;
    /**
     * 配置项简称
     */
    @NotNull(message = "配置项简称不能为空")
    @ApiModelProperty("配置项简称")
    private String shortName;
    /**
     * 配置项描述
     */
    @ApiModelProperty("配置项描述")
    private String confItemDes;
    /**
     * 所属配置方案ID
     */
    @NotNull(message = "所属配置方案ID不能为空")
    @ApiModelProperty("所属配置方案ID")
    private String confSchemeId;
    /**
     * 所属配置方案标识
     */
    @NotNull(message = "所属配置方案标识不能为空")
    @ApiModelProperty("所属配置方案标识")
    private String confSchemeCode;
    /**
     * 所属配置项分组ID
     */
    @NotNull(message = "所属配置项分组ID不能为空")
    @ApiModelProperty("所属配置项分组ID")
    private String confItemClassId;
    /**
     * 所属配置项分组标识
     */
    @NotNull(message = "所属配置项分组标识不能为空")
    @ApiModelProperty("所属配置项分组标识")
    private String confItemClassCode;
    /**
     * 适用方案类型
     */
    @NotNull(message = "适用方案类型不能为空")
    @ApiModelProperty("适用方案类型")
    private String applyTypeCode;
    /**
     * 选项类型
     */
    @NotNull(message = "选项类型不能为空")
    @ApiModelProperty("选项类型")
    private String confItemCategory;
    /**
     * 归属业务应用
     */
    @NotNull(message = "归属业务应用不能为空")
    @ApiModelProperty("归属业务应用")
    private String bizAppId;
    /**
     * 是否用户可见
     */
    @NotNull(message = "是否用户可见不能为空")
    @ApiModelProperty("是否用户可见")
    private String isVisible;
    /**
     * 是否开启自定义配置
     */
    @NotNull(message = "是否开启自定义配置不能为空")
    @ApiModelProperty("是否开启自定义配置")
    private String isOpenCustomConf;
    /**
     * 是否开关
     */
    @NotNull(message = "是否开关不能为空")
    @ApiModelProperty("是否开关")
    private String isSwitch;
    /**
     * 是否商业参数
     */
    @NotNull(message = "是否商业参数不能为空")
    @ApiModelProperty("是否商业参数")
    private String isBusiness;
    /**
     * 排序
     */
    @NotNull(message = "排序不能为空")
    @ApiModelProperty("排序")
    private Long orderNumber;
    @ApiModelProperty("配置选项列表")
    private List<BffConfOptionDto> confOptionList = new ArrayList<>();



}
   